[INFO] cloning repository https://github.com/battlecode/battlecode-2018
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/battlecode/battlecode-2018" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07edcbb892170ce2baa23158a12c12521e5ecc0b
[INFO] fixing battlecode/battlecode-2018 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbattlecode%2Fbattlecode-2018" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/battlecode/battlecode-2018
[INFO] finished tweaking git repo https://github.com/battlecode/battlecode-2018
[INFO] tweaked toml for git repo https://github.com/battlecode/battlecode-2018 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/battlecode/battlecode-2018 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/battlecode/battlecode-2018 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: battlecode-engine/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: bindings/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0
[INFO] running `Command { std: "docker" "start" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating battlecode-engine/Cargo.toml from 2015 edition to 2018
[INFO] [stderr]    Migrating bindings/Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: battlecode-engine/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-engine` (manifest) generated 1 warning
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: bindings/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]     Checking libc v0.2.35
[INFO] [stderr]     Checking rustc-demangle v0.1.5
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking serde v1.0.27
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking num-traits v0.1.41
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]    Compiling battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]    Migrating bindings/build.rs from 2015 edition to 2018
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking rand v0.3.20
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling synstructure v0.6.1
[INFO] [stderr]    Compiling serde_derive_internals v0.19.0
[INFO] [stderr]    Compiling failure_derive v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.27
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking backtrace v0.3.5
[INFO] [stderr]     Checking failure v0.1.1
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stderr]    Migrating battlecode-engine/src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed battlecode-engine/src/controller/mod.rs (12 fixes)
[INFO] [stderr]        Fixed battlecode-engine/src/location.rs (1 fix)
[INFO] [stderr]        Fixed battlecode-engine/src/id_generator.rs (1 fix)
[INFO] [stderr]        Fixed battlecode-engine/src/map/mod.rs (5 fixes)
[INFO] [stderr]        Fixed battlecode-engine/src/unit.rs (2 fixes)
[INFO] [stderr]    Migrating bindings/src/lib.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating battlecode-engine/examples/runner.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed battlecode-engine/examples/runner.rs (9 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.05s
[INFO] [stderr] crater-edition-check: battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine) updating edition from 2015 to 2018
[INFO] [stderr] crater-edition-check: battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings) updating edition from 2015 to 2018
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 1 warning
[INFO] [stderr]    Compiling battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_unit_mut` is never used
[INFO] [stdout]    --> battlecode-engine/src/world.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl GameWorld {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn get_unit_mut(&mut self, id: UnitID) -> Result<&mut Unit, GameError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> battlecode-engine/examples/runner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bc::map::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::bc::map::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Team::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::Team::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Direction::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::Direction::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     'unit: for unit in gc.my_units() {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn nothingbot(gc: &mut GameController) -> Result<(), Error> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     gc.queue_research(Rocket);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = gc.queue_research(Rocket);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     gc.queue_research(Worker);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = gc.queue_research(Worker);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     gc.queue_research(Knight);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = gc.queue_research(Knight);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         let _ = gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:64:29
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...                   gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |                             let _ = gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> battlecode-engine/src/map/mapparser.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let map = parse_text_map(fat).unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.23s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating battlecode-engine/Cargo.toml from 2015 edition to 2018
[INFO] [stderr]    Migrating bindings/Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 1 warning
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stderr]    Migrating battlecode-engine/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]    Migrating bindings/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating battlecode-engine/examples/runner.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.93s
[INFO] [stderr] crater-edition-check: battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 1 warning
[INFO] [stderr]    Compiling battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:48
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_unit_mut` is never used
[INFO] [stdout]    --> battlecode-engine/src/world.rs:832:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl GameWorld {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn get_unit_mut(&mut self, id: UnitID) -> Result<&mut Unit, GameError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> battlecode-engine/src/map/mapparser.rs:428:13
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let map = parse_text_map(fat).unwrap();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> battlecode-engine/examples/runner.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bc::map::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::bc::map::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Team::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::Team::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Direction::*`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::Direction::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     'unit: for unit in gc.my_units() {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:94:15
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn nothingbot(gc: &mut GameController) -> Result<(), Error> {
[INFO] [stdout]    |               ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     gc.queue_research(Rocket);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = gc.queue_research(Rocket);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     gc.queue_research(Worker);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let _ = gc.queue_research(Worker);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     gc.queue_research(Knight);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let _ = gc.queue_research(Knight);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         let _ = gc.attack(unit.id(), other.id());
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> battlecode-engine/examples/runner.rs:64:29
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...                   gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |                             let _ = gc.move_robot(unit.id(), dir);
[INFO] [stdout]    |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/controller/mod.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Serialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `ManagerViewMessage` is not local
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ManagerViewMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 256]` does not permit being left uninitialized
[INFO] [stdout]   --> battlecode-engine/src/controller/streams.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut buf: [u8; 256] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           this code causes undefined behavior when executed
[INFO] [stdout]    |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Delta` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Delta` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Delta`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartGameMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:66:35
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartGameMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartGameMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `ViewerKeyframe` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:74:35
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `ViewerKeyframe` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerKeyframe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:24
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `StartTurnMessage` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/schema.rs:88:35
[INFO] [stdout]    |
[INFO] [stdout] 88 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `StartTurnMessage` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StartTurnMessage`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:24
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerUnitInfo` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerUnitInfo` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerUnitInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerDelta` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerDelta` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerDelta`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ViewerMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ViewerMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewerMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ErrorMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:143:35
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ErrorMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:24
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `LoginMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:149:35
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `LoginMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LoginMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:24
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        -^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ReceivedMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:154:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `ReceivedMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReceivedMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `SentMessage` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/schema.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `SentMessage` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SentMessage`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Team` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Team` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Team`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `PlanetInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/world.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `PlanetInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `TeamInfo` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:111:28
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `TeamInfo` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamInfo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Player` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `Player` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `GameWorld` is not local
[INFO] [stdout]     |                 `Serialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/world.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 | #[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
[INFO] [stdout]     |                            -^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `GameWorld` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameWorld`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Direction` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/location.rs:15:41
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Direction` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Direction`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Planet` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, Hash, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Planet` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Planet`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:30
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `MapLocation` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:146:41
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `MapLocation` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MapLocation`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:30
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Location` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/location.rs:282:41
[INFO] [stdout]     |
[INFO] [stdout] 282 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `Location` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Symmetry` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Symmetry` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Symmetry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `GameMap` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/map/mod.rs:27:35
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `GameMap` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_GameMap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `PlanetMap` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `PlanetMap` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PlanetMap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:30
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                              ^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `AsteroidStrike` is not local
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:402:41
[INFO] [stdout]     |
[INFO] [stdout] 402 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                         -^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         `AsteroidStrike` is not local
[INFO] [stdout]     |                                         `Deserialize` is not local
[INFO] [stdout]     |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidStrike`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:24
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `AsteroidPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `AsteroidPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AsteroidPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:24
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `OrbitPattern` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/map/mod.rs:419:35
[INFO] [stdout]     |
[INFO] [stdout] 419 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `OrbitPattern` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_OrbitPattern`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnitType` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/unit.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `UnitType` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnitType`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:24
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Unit` is not local
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> battlecode-engine/src/unit.rs:212:35
[INFO] [stdout]     |
[INFO] [stdout] 212 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]     |                                   -^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Unit` is not local
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Unit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ResearchInfo` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/research.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ResearchInfo` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ResearchInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `RocketLanding` is not local
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                         -^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `RocketLanding` is not local
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLanding`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `RocketLandingInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/rockets.rs:42:35
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `RocketLandingInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RocketLandingInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `TeamArrayInfo` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/team_array.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `TeamArrayInfo` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TeamArrayInfo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `IDGenerator` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> battlecode-engine/src/id_generator.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
[INFO] [stdout]    |                                   -^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `IDGenerator` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_IDGenerator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.76s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating battlecode-engine/Cargo.toml from 2015 edition to 2018
[INFO] [stderr]    Migrating bindings/Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: bindings/Cargo.toml: `build_dependencies` is deprecated in favor of `build-dependencies` and will not work in the 2024 edition
[INFO] [stderr] (in the `battlecode-frankenstein` package)
[INFO] [stderr] warning: `battlecode-frankenstein` (manifest) generated 1 warning
[INFO] [stderr]     Checking battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine)
[INFO] [stderr]    Migrating battlecode-engine/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings)
[INFO] [stderr]        Fixed battlecode-engine/src/error.rs (20 fixes)
[INFO] [stderr]    Migrating bindings/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating battlecode-engine/examples/runner.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed battlecode-engine/examples/runner.rs (1 fix)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.94s
[INFO] [stderr] crater-edition-check: battlecode-engine v0.1.0 (/opt/rustwide/workdir/battlecode-engine) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: battlecode-frankenstein v0.1.0 (/opt/rustwide/workdir/bindings) updating edition from 2021 to 2024
[INFO] [stderr] error: failed to load manifest for workspace member `/opt/rustwide/workdir/bindings`
[INFO] [stderr] referenced by workspace at `/opt/rustwide/workdir/Cargo.toml`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   failed to parse manifest at `/opt/rustwide/workdir/bindings/Cargo.toml`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   `build_dependencies` is unsupported as of the 2024 edition; instead use `build-dependencies`
[INFO] [stderr]   (in the `battlecode-frankenstein` package)
[INFO] running `Command { std: "docker" "inspect" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0", kill_on_drop: false }`
[INFO] [stdout] 8cae65efe9f4fea4857086579ce9110a6b6681f8dc614fd9ede955978b08a7f0
